Arithmethic Library(Science)

표준 라이브러리가 아닌 오픈 소스 라이브러리
- Boost::Rational
자연적인 연산자 표기법(일반적인 산술 연산을 제공하는 템플릿 라이브러리)
유리수는 항상 정규화되며(분모는 항상 양수, 분자는 서로소) 무제한 정밀도를 갖는 정수로
정밀도 손실, 오버플로 및 언더플로 문제 극복 가능

- GMP
무제한/임의 정밀도를 가지는 정수를 제공
자체 정수 및 임의 정밀도를 갖는 부동소수점 수 기반의 유리수를 제공

- ARPREC(ARbitraryPRECision)
사용자 정의 가능한 소수점 이하의 정수 및 실수와 복소수를 제공
구간 산술 연산
입력 데이터 항목이 실제로 정확한 값이 아닌 모델화된 엔티티의 근삿값일 때,
이 부정확성을 고려하기 위해, 각 데이터 항목이 정확한 결과를 포함하도록 보장된 간격으로 표시한다.
(결과가 나오는 구간이 정확한 결과를 포함하도록 반올림 규칙을 사용해 산술 연산을 구현한다.)

입력 데이터의 간격이 이미 크거나, 알고리즘이 수치적으로 불안정한 경우 결과로 나오는 구간이 커질 수 있음

- Boost::Interval
일반적인 산술 연산과 삼각 함수, 간격을 나타내는 템플릿 클래스를 제공한다.
클래스는 필요한 정책이 설정된 각 타입으로 인스턴스화 될 수 있음
선형 대수
- Blitz++
표현식 템플릿(expression template)를 사용한 최초의 과학 라이브러리
사용자 정의 가능한 스칼라 타입의 벡터, 행렬 및 고차 텐서를 정의할 수 있다.

- uBLAS

- MTL4
벡터와 다양한 행렬을 다루는 템플릿 라이브러리
(CUDA를 통한 GPU 연산도 지원함)
상미분 방정식
상미분 방정식(Ordinary Differential Equation, ODE)를 수치적으로 계산한다.

- odeint
제네릭을 고려한 디자인으로 다양한 표준 컨테이너에서 동작할 뿐 아니라, 외부 라이브러리와도 협력한다.
MKL, CUDA 라이브러리, Thrust, MTL4, VexCL 및 ViennaCL을 사용해 기본 선형 대수학 작업 수행 가능
편미분 방정식
편미분 방정식(Partial Differential Equations, PDF)를 수치적으로 계산

- FEniCS
유한 요소법(Finite Element Method, FEM)으로 PDE를 해결하기 위한 소프트웨어 모음집
Python 및 C++ 사용자를 위한 API 제공

- FEEL++
FEniCS와 달리 외부 코드 생성기를 사용하지 않고 C++ 컴파일러가 코드를 변환하는 능력을 사용해서 구현
그래프 알고리즘
- Boost Graph Library(BGL)